package com.vhall.component.plugin.common.properties;

import cn.hutool.core.util.StrUtil;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * ThirdPartyProperties-
 *
 * @author xing.wang
 * @date 2023/8/2
 */
@Data
@Component
@ConfigurationProperties(prefix="guoxin")
public class ThirdPartyProperties {
    private Business business;
    private Sso sso;
    private Prod prod;
    private Tgh tgh;
    @lombok.Data
    public static class Business {
        private String key;
        private String host;
        /**
         * 获取 OA 审核流程列表 URL
         */
        private String oaFlowUrl;
        /**
         * 获取投资依据列表URL
         */
        private String tzyjUrl;

        /**
         * 发送短信的 URL
         * send_message_url
         */
        private String sendMessageUrl;

        /**
         * 发送邮件的 URL
         * send_email_url
         */
        private String sendEmailUrl;
        /**
         * 观看权限校验接口
         * check_risk_match_url
         */
        private String checkRiskMatchUrl;
        /**
         * 产品列表搜索 url
         * search_prod_url: /xtgzstg/vhall/searchPrd #
         */
        private String searchProdUrl;
        /**
         *     产品详情查询多个可查 url
         *     prod_info_url: /xtgzstg/vhall/prdInfo #产品详情查询多个可查
         */
        private String prodInfoUrl;
        /**
         * 使用微信 ticket 换取 sessionid 的路径
         * wx_um_access_url: https://wxtest.guosen.com.cn/api-um-binding/wx/access2
         */
        private String wxUmAccessUrl;

        /**
         * 发送发送渠道运营管理平台站内信的 URL
         * send_inner_message_url
         */
        private String sendInnerMessageUrl;
        /**
         * 关注投顾IP 的 url
         * follow_tgh_url
         */
        private String followTghUrl;
        /**
         * 查询员工所属投顾IP信息的 url
         * get_tgh_info_url
         */
        private String getTghInfoUrl;

    }
    @lombok.Data
    public static class Tgh {
        /**
         * 查看投顾详情的url,uat和prod环境的地址不同,id 的参数是 zoneId
         * details_url
         */
        private String detailsUrl;
        /**
         * zyzg
         *  guosen_staff表zyzg ="证券投资咨询业务（投资顾问）"的是投顾，其他的为非投顾
         */
        private String zyzg;
    }
    @lombok.Data
    public static class Sso {
        /**
         * 获取SSO功能URL
         */
        private String authCheckCodeUrl;
        /**
         * 获取观众用户信息的 URL
         * watch_user_login_info_url
         */
        private String watchUserLoginInfoUrl;

    }

    @lombok.Data
    public static class Prod {
        /**
         * 测试使用的产品信息组,测试使用的产品数据 产品类型.产品编号|产品类型.产品编号
         */
        private String codes;

        public String getCodes() {
            if (StrUtil.isNotBlank(codes)) {
                return codes;
            }else {
                return "1.VIPZX001|1.VIPZX010|2.VIPTS001|2.VIPTS011";
            }
        }
    }
}

